#pragma once

class Device
{
public:
	Device(void);
	virtual ~Device(void);

	HRESULT Init(void);
	HRESULT Uninit(void);
	BOOL IsInitialized(void) { return _Initialized; }

private:
	virtual HRESULT OnInit(void) { return E_NOTIMPL; }
	virtual HRESULT OnUninit(void) { return E_NOTIMPL; }
	BOOL _Initialized;
};

